[レポート]Full-stack AI with the AWS Amplify AI kit (FWM202) #AWSreInvent

[レポート]Full-stack AI with the AWS Amplify AI kit (FWM202) #AWSreInvent

Clock Icon2024.12.29

こんにちは、森田です。

本記事は「AWS re:Invent 2024 - Full-stack AI with the AWS Amplify AI kit (FWM202)」のセッションレポートです。

概要

Generative AI is transforming full-stack development. In this session, learn how AWS Amplify, Amazon Q, and Amazon Bedrock work together to streamline building generative AI applications. See how Amplify helps developers build AI-driven features like intelligent search, summarization, content generation, and interactive chatbots backed by Amazon Bedrock. The session also shows how Amplify with Amazon Q can accelerate your development process.

生成 AI はフルスタック開発を変革しています。このセッションでは、AWS Amplify、Amazon Q、Amazon Bedrock がどのように連携して生成 AI アプリケーションの構築を効率化するかを学びます。 Amplify が開発者によるインテリジェントな検索、要約、コンテンツ生成、Amazon Bedrock を活用したインタラクティブなチャットボットなどの AI 主導の機能の構築をどのように支援するかをご覧ください。このセッションでは、Amplify with Amazon Q がどのように開発プロセスを加速できるかについても説明します。

スピーカー

  • Danny Banks
    • AWS Principal Design Technologist
  • Banjo Obayomi
    • AWS Senior Developer Advocate
  • Ali Spittel
    • AWS Head of Developer Advocacy, North America

セッション動画

https://www.youtube.com/watch?v=IP2-saNpYsQ

3行まとめ

  • AWSにあるAIサービスの整理、レイヤーの違いがある
  • Amplify の Gen2(Amplify Data, Amplify Auth)についての紹介
  • Amplify AI kit で提供している GenAI Backend, チャット型UIをデモを交えて紹介

AWS における AI Stack

AWSでのAIスタックは、3レイヤーで分かれています。

よくある課題として「AWSのどのAIサービスを利用すれば良いか」があります。

この関係性を理解しておくことでサービス選定に役に立ちそうです。

Applications to Boost Productivity

生成AIアプリケーションをすぐに活用できるサービス

  • Amazon Q Business
  • Amazon Q Developer

Models and Tools to Build Generative AI Apps

様々なAIにすぐに利用でき、AIを利用するために便利な機能も展開されている

  • Amazon Bedrock

Infrastructure to Build and Train AI Models

実際にモデルを開発して、エンドポイントまで作成するため、より高度な知識が必要

一方で、詳細なカスタマイズができる

  • Amazon SageMaker
  • AWS Trainium / AWS Inferentia / GPUs

img.png

個人的には、「Applications to Boost Productivity」レイヤーを使いたいですが、現在は、Amazon Q Business は英語のみの対応となっています。

そのため、日本語を使いたい場合は、「Models and Tools to Build Generative AI Apps」になります。

AWS Amplify Gen1 と Gen2

IMG_6329.jpg

2024年に AWS Amplify Gen2 が登場しました。

https://dev.classmethod.jp/articles/introduction-2024-aws-amplify

TypeScriptが標準となり、型安全なコードを書く事が可能
開発者毎にサンドボックス環境を用意できるようになり、より柔軟な検証やテストが可能
バックエンドのデプロイ方法がCLIからCDK(L3 Construct)に変更となり、コードを変更する事でAWSリソースのカスタマイズや追加が容易に

Gen1 については、CLIベースでのリソースのプロビジョニングでしたが、Gen2 では、CDKでプロビジョニングできる点が良いですね。

また、以下のようにサンドボックス環境を用意できるため、依存関係を気にせず、開発を進めることもできます。

img.png

Amplify AI kit

Amplify を使って AI アプリケーションをフルスタックに構築できる機能です。

この機能は、re:Invent2024の前にリリースされました。

https://dev.classmethod.jp/articles/amplify-ai-kit-service-launch

Amazon Bedrock をコードファーストで

resource.ts
const schema = a.schema({
    chat: a
        .conversation({
            aiModel: a.ai.model("Claude 3.5 Haiku"),
            systemPrompt: "You are a helpful assistant, that",
            tools: [
                a.ai.dataTool({
                    name: "MerchQuery",
                    description: "Search for questions regarding",
                    model: a.ref("Items"),
                    modelOperation: "List"
                })
            ]
        })
    .authorization((allow) => allow.owner())
});

上記のようにTypeScriptで、LLMを使うために必要なリソースの構築が可能となっており、コードベースで開発を行うことができます。

このバックエンドリソースは、AppSync API、Lambda、Bedrockを使って実現されています。

セキュアにデータアクセスが可能となる機能も提供されています。

IMG_6335.jpg

Conversational UI

アプリ開発では、APIを呼び出す以外にもUIの開発が必要です。

このUIも Amplify から提供されています。

IMG_6336.jpg

デモ

以下のリポジトリを使ったライブコーティングが行われました。

https://github.com/aws-samples/amplify-ai-examples/tree/main/claude-ai

開発ツールとして、Amazon Q Developer を使う方法も紹介しています。

IMG_6348.jpg

最終的には以下のようなチャットアプリケーションを作ることができました。

img.png

さいごに

Amplify Gen2、AI kit の利便性がわかるセッションでした。

素早く AI アプリケーションを開発したいケースでは、採用を検討すると良さそうです。

また、セッション冒頭にあった AI サービスのレイヤーごとの違いは、AI アプリケーションを開発する際のサービス選定の助けになりそうです。

今後時間があるときにデモアプリケーションの起動もやってみたいと思います。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.